/**
 * @file Analog.h
 *
 * Definicion y Funciones de los Sensores Analogicos
 *
 * @version  1.00a
 * @date     10/5/2014
 * @author   Pirx
 *
 */

#ifndef __ANALOG_H_
#define __ANALOG_H_

/***************************** Include Files *********************************/

#include <GenericTypeDefs.h>

/************************** Constant Definitions *****************************/

/* None */

/**************************** Type Definitions *******************************/

typedef enum {
	x32KHz = 0,								// Osciladar 32KHz
	x8MHz,									// Oscilador 8MHz
} E_OscA;

typedef enum {
	ECG = 0,								// Sensor Cardiaco
	Temp,									// Sensor de Temperatura
	Sweat,									// Sensor de Sudoracion
	Bate,									// Tension de Bateria
} E_SensorA;


/************************** Function Prototypes ******************************/

extern void SetAnaInit(BOOL _onf);					// Inicializacion
extern BOOL AnaTimer(void);							// Timer Analogico
extern UINT16 GetAnaVolt(UINT8 ch);					// Obtiene la medida en milivoltios de un canal
extern UINT16* GetAnaValue(UINT8 ch);				// Obtiene el Valor de un canal
extern BOOL SetAnaDat(UINT16 dat);					// Procesa un nuevo dato del conversor A/D
extern BOOL SetAnaChan(UINT8 ch);					// Selecciona un nuevo canal
extern BOOL SetAnaFreq(UINT8 freq);					// Establece una nueva frecuencia de trabajo
//#ifdef ECG_TX
extern void WriteEcgLogger(UINT8* ptr, UINT8 nd);	// Escribe n Datos del DataLogger del ECG en una direccion de Memoria
//#endif
extern UINT16 GetEcgMax(void);
extern UINT16 GetEcgMin(void);

extern void EcgInit(void);
//extern void FilterEcgValue(void);					// Obtiene el Dato promediado del ECG
extern BOOL FilterEcgValue2(void);					// Obtiene Si los valores del ECG son coherentes

#endif

